package cn.ezios.huo.s3.core;

import cn.ezios.huo.s3.bean.HuoStorageDto;
import cn.ezios.huo.s3.bean.HuoStorageRespDto;
import lombok.Getter;
import lombok.Setter;

/**
 * 包装类作为依赖注入的载体
 */
public class HuoStorageCoreWrapper {

    @Getter
    @Setter
    private HuoStorageCore huoStorageCore;


    public HuoStorageCore core(){
        return this.huoStorageCore;
    }

    public String bucket(){
        return this.huoStorageCore.bucket();
    }

    public HuoStorageRespDto getUploadUrl(String fileName){
        HuoStorageDto dto = HuoStorageDto.create(bucket(), fileName);
        String uploadUrl = this.huoStorageCore.getUploadUrl(dto.key());
        return HuoStorageRespDto.from(dto).setUrl(uploadUrl);
    }

    public String getPreviewUrl(String key){
        return this.huoStorageCore.getPreviewUrl(key);
    }
}
